package com.yang.test.mapper;

import com.yang.test.domain.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MbtiMapper {
    /**
     * 根据ID获取测试信息
     */
    Test getTestById(@Param("id") String id);
    
    /**
     * 获取测试的所有问题
     */
    List<Question> getQuestionsByTestId(@Param("testId") String testId);
    
    /**
     * 获取问题的所有选项
     */
    List<Option> getOptionsByQuestionId(@Param("questionId") Integer questionId);
    
    /**
     * 获取问题的所有选项（批量）
     */
    List<Option> getOptionsByQuestionIds(@Param("questionIds") List<Integer> questionIds);
    
    /**
     * 保存测试结果
     * @param result 结果对象
     * @return 影响的行数
     */
    int saveResult(ResultM result);
    
    /**
     * 根据ID获取结果
     * @param resultId 结果ID
     * @return 结果对象
     */
    ResultM getResultById(String resultId);
}